package main

import (
	"bytes"
	"fmt"
	"io"
	"strings"
)

func main() {
	b1 := new(strings.Builder)
	_ = interface{}(b1).(io.Writer)
	_ = interface{}(b1).(io.ByteWriter)
	_ = interface{}(b1).(fmt.Stringer)

	b2 := strings.NewReader("")
	_ = interface{}(b2).(io.Reader)
	_ = interface{}(b2).(io.ReaderAt)
	_ = interface{}(b2).(io.ByteReader)
	_ = interface{}(b2).(io.RuneReader)
	_ = interface{}(b2).(io.Seeker)
	_ = interface{}(b2).(io.ByteScanner)
	_ = interface{}(b2).(io.RuneScanner)
	_ = interface{}(b2).(io.WriterTo)

	b3 := bytes.NewBuffer([]byte{})
	_ = interface{}(b3).(io.Reader)
	_ = interface{}(b3).(io.ByteReader)
	_ = interface{}(b3).(io.RuneReader)
	_ = interface{}(b3).(io.ByteScanner)
	_ = interface{}(b3).(io.RuneScanner)
	_ = interface{}(b3).(io.WriterTo)

	_ = interface{}(b3).(io.Writer)
	_ = interface{}(b3).(io.ByteWriter)
	_ = interface{}(b3).(io.ReaderFrom)

	_ = interface{}(b3).(fmt.Stringer)
}
